package com.kaka.bus.di.component;

import android.app.Activity;

import com.kaka.bus.AppCenter;
import com.kaka.bus.MainActivity;
import com.kaka.bus.di.DataManager;
import com.kaka.bus.di.module.ActivityModule;
import com.kaka.bus.di.scope.ActivityScope;
import com.kaka.bus.engine.HomeActivity;
import com.kaka.bus.engine.amount.RaiseLimit.RaiseLimitActivity;
import com.kaka.bus.engine.amount.TopProduct.TopProductActivity;
import com.kaka.bus.engine.amount.creditamount.ManageamountActivity;
import com.kaka.bus.engine.amount.gongjijinamount.GongJiJinActivity;
import com.kaka.bus.engine.borrow.bank.BankCardActivity;
import com.kaka.bus.engine.borrow.face.FaceActivity;
import com.kaka.bus.engine.borrow.idcard.IdCardBackActivity;
import com.kaka.bus.engine.borrow.idcard.IdCardFrontActivity;
import com.kaka.bus.engine.borrow.pact.PactActivity;
import com.kaka.bus.engine.borrow.person.PersonActivity;
import com.kaka.bus.engine.borrow.phone.PhoneActivity;
import com.kaka.bus.engine.borrow.phone.PhoneYzmActivity;
import com.kaka.bus.engine.borrow.signed.SignedActivity;
import com.kaka.bus.engine.borrow.zhima.ZhiMaActivity;
import com.kaka.bus.engine.evaluate.EvaluateActivity;
import com.kaka.bus.engine.evaluate.sell.SellActivity;
import com.kaka.bus.engine.home.info.InfoFragment;
import com.kaka.bus.engine.home.info.bank.BankCardManagerActivity;
import com.kaka.bus.engine.home.info.bank.add.AddBankActivity;
import com.kaka.bus.engine.home.info.borrowlist.BorrowListActivity;
import com.kaka.bus.engine.home.info.borrowlist.deteil.BorrowDeteilActivity;
import com.kaka.bus.engine.home.info.changepwd.ChangeActivity;
import com.kaka.bus.engine.home.info.coupon.page.UnUseCouponFragment;
import com.kaka.bus.engine.home.info.message.MessageListActivity;
import com.kaka.bus.engine.home.info.more.MoreActivity;
import com.kaka.bus.engine.home.info.opinion.OpinionActivity;
import com.kaka.bus.engine.home.info.question.QuestionActivity;
import com.kaka.bus.engine.home.info.record.RecordActivity;
import com.kaka.bus.engine.home.info.self.SelfActivity;
import com.kaka.bus.engine.invite.InviteActivity;
import com.kaka.bus.engine.prompt.PromptActivity;
import com.kaka.bus.engine.rechange.GoRechangeActivity;
import com.kaka.bus.engine.rechange.RechangeActivity;
import com.kaka.bus.engine.repay.RepayActivity;
import com.kaka.bus.engine.repay.detail.RepayDetailActivity;
import com.kaka.bus.engine.splash.SplashActivity;
import com.kaka.bus.engine.user.forget.ForgetActivity;
import com.kaka.bus.engine.user.login.LoginActivity;
import com.kaka.bus.engine.user.register.RegistActivity;

import dagger.Component;

/**
 * Created by zhangqi on 16/8/7.
 * activity 管理层
 * <p>
 * 注入app组件  ActivityModule
 */

@ActivityScope
@Component(dependencies = AppComponent.class, modules = ActivityModule.class)
public interface ActivityComponent {

    Activity getActivity();

    AppCenter getContext();

    DataManager getDataManager();

    void inject(MainActivity mainActivity);

    void inject(SplashActivity splashActivity);

    void inject(LoginActivity loginActivity);

    void inject(RegistActivity registActivity);

    void inject(ForgetActivity forgetActivity);

    void inject(IdCardFrontActivity idCardFrontActivity);

    void inject(IdCardBackActivity idCardBackActivity);

    void inject(BankCardActivity bankCardActivity);

    void inject(PhoneActivity phoneActivity);

    void inject(PhoneYzmActivity phoneYzmActivity);

    void inject(FaceActivity faceActivity);

    void inject(SignedActivity signedActivity);

    void inject(PersonActivity personActivity);

    void inject(BorrowListActivity borrowListActivity);

    void inject(MessageListActivity messageListActivity);

    void inject(OpinionActivity opinionActivity);

    void inject(RecordActivity recordActivity);

    void inject(QuestionActivity questionActivity);

    void inject(SelfActivity selfActivity);

    void inject(MoreActivity moreActivity);

    void inject(ChangeActivity changeActivity);

    void inject(BankCardManagerActivity bankCardManagerActivity);

    void inject(HomeActivity homeActivity);

    void inject(BorrowDeteilActivity borrowDeteilActivity);

    void inject(PactActivity pactActivity);

    void inject(AddBankActivity addBankActivity);

    void inject(EvaluateActivity evaluateActivity);

    void inject(SellActivity sellActivity);

    void inject(ZhiMaActivity zhiMaActivity);

    void inject(RepayActivity repayActivity);

    void inject(RepayDetailActivity repayDetailActivity);

    void inject(InviteActivity inviteActivity);

    void inject(RechangeActivity rechangeActivity);

    void inject(ManageamountActivity manageamountactivity);

    void inject(InfoFragment infoFragment);

    void inject(UnUseCouponFragment unUseCouponFragment);

    void inject(GongJiJinActivity gongJiJinActivity);

    void inject(RaiseLimitActivity raiseLimitActivity);

    void inject(GoRechangeActivity goRechangeActivity);

    void inject(TopProductActivity topProductActivity);

    void inject(PromptActivity promptActivity);
}
